/*
 * @(#)InitiatingRetrieveService.java
 * Date 2013-10-25
 * Version 1.0
 * Author Jim Horner
 * Copyright (c)2012
 */


package us.hornerscorners.lamppost.xca.service;

import javax.enterprise.context.ApplicationScoped;

import javax.inject.Inject;

import us.hornerscorners.lamppost.atna.client.utils.AtnaUtils;

import us.hornerscorners.lamppost.model.audit.CodedValueType;

import us.hornerscorners.lamppost.xca.transformer.IRetrieveTransformer;
import us.hornerscorners.lamppost.xca.transformer.InitiatingRetrieveTransformer;


/**
 * Initiating Cross Gateway Retrieve
 * ITI-2B 3.39
 *
 * @version        v1.0, 2013-10-25
 * @author         Jim Horner
 */
@ApplicationScoped
public class InitiatingRetrieveService extends AbstractRetrieveService {

    /** Field description */
    private final CodedValueType eventType;

    /** Field description */
    @Inject
    private InitiatingRetrieveTransformer requestTransformer;

    /**
     * Constructs ...
     *
     */
    public InitiatingRetrieveService() {

        super();
        this.eventType = AtnaUtils.createCodedValue("ITI-39", "IHE Transactions",
                "Cross Gateway Retrieve");
    }

    /**
     * Method description
     *
     *
     * @return
     */
    @Override
    protected CodedValueType getEventType() {
        return eventType;
    }

    /**
     * Method description
     *
     *
     * @return
     */
    @Override
    protected IRetrieveTransformer getRequestTransformer() {

        return this.requestTransformer;
    }
}
